最近実践したiOSのOSSライブラリ作成・運用方法まとめ その2〜公開編〜
おばんです、引越しのため実家の掃除をしていると色々出てきて、自分の加齢を感じてMPが削れていっている田中です。
ライブラリ作成方法まとめのその2です。 今回はライブラリの公開に関して。
公開する
今回はCocoaPodsでの公開方法です。 手順は以下を参考にさせていただきました。ここでは紹介しないことも書いてあるので必読です。
podspecファイルを用意する
podspecを書く
以下はpodspecファイルのサンプルです。
Pod::Spec.new do |s| s.name = "ScrollingFollowView" s.version = "0.1.0" s.summary = "A simple view follows scrolling." s.description = <<-DESC A simple view follows scrolling. More information is coming soon... DESC s.homepage = "https://github.com/ktanaka117/ScrollingFollowView" s.license = "MIT" s.author = { "Kenji Tanaka" => "key_m4096_kung_fu@yahoo.co.jp" } s.social_media_url = "http://twitter.com/ktanaka117" s.platform = :ios, "8.0" s.source = { :git => "https://github.com/ktanaka117/ScrollingFollowView.git", :tag => s.version.to_s } s.source_files = "ScrollingFollowView/**/*.swift" end
- name : ライブラリの名前。
- version : ライブラリのバージョン。
- summary : ライブラリのまとめ文。
- description : ライブラリの説明文。
- homepage : ライブラリに関連するWebのURL。
- license : ライブラリのライセンス。
- author : ライブラリの作者
- social_media_url: ライブラリに対応するソーシャルのURL。
- platform : ライブラリが対応するプラットフォーム情報。
- source : ライブラリの置き場所。
- source_files : ライブラリのソースファイルのディレクトリパス。
pod lib lint
$ pod lib lint <LibraryName>.podspec
podspecファイルに不備がないかチェックします。
pod trunk register
$ pod trunk register <mailaddress> 'username' --description='macbook air'
CocoaPodsの認証とAPIアクセスを扱えるCocoaPods Trunkにデバイス情報を登録する処理。 まず初回アクセスのデバイスである場合はここで登録します。
pod trunk push
$ pod trunk push <LibraryName>.podspec
CocoaPodsにpodspecをpushしてライブラリをCocoaPodsに登録します。
CocoaPods経由でライブラリをインストールできるようにするにはこのpod trunk push
でCocoaPodsにpodspecの登録が必要です。これができたら公開完了!
アップデートの際もこれで更新したpodspecをpushします。
タグ
タグをつける
$ git tag 0.0.1
ローカルに指定のタグをつける
$ git push origin 0.0.1
リモートにも反映する。 プッシュしたタグはGitHub上のreleaseに反映されます。
タグを消す
$ git tag -d 0.0.1
ローカルから指定のタグを消す
$ git push origin :0.0.1
リモートのタグを消す
README.mdを書く
ライブラリの説明等を書くREADME.mdを書いてライブラリのディレクトリルートにおきましょう。
READMEは以下の二つを特に意識しましょう。 - gifを貼る。 - 画像を貼る。 パッと見でそのライブラリの役割がわかるものは大事です。
その他文章として記述するものは - このライブラリは何か - どうやってインストールするか - どうやって使うか - 今後どういう実装をしていくか - 連絡先 - ライセンス
などです。 書き方に決まりはありませんので、好きなライブラリのREADMEを参考に書いてみましょう!
releaseにCHANGELOGをつける
CHANGELOG.mdを書く
ライブラリのアップデート内容を記述するCHANGELOGを書いてライブラリのディレクトリルートにおきましょう。 初回は要らないかも?
releaseのCHANGELOGを載せる
GitHubリポジトリのreleaseを選択します。
その中のDraft a new release(またはedit)ボタンを押します。
すると編集画面が開くので、ここにCHANGELOG.mdと同様の内容を書けばオーケーです。
まとめ
CocoaPodsでのライブラリ公開はふとlintが通らなかったり若干手間取りました。 手順に関して参考となるサイトはいくつかあったのですが、podspecやREADME, CHANGELOGなどのファイルの書き方はすでに公開済みのライブラリを参考に書くのが一番良かったです。